package damas.utils;

import utils.Pair;

public class Coordenadas
{
    public static boolean coordenadaValida(Pair<Integer, Integer> par)
    {
        int x = par.getFirstElem();
        int y = par.getSecondElem();

        return (x >= 0 && x < 8 && y >= 0 && y < 8);
    }

    public static boolean cercanos(Pair<Integer, Integer> inicio, Pair<Integer, Integer> destino)
    {
        int x = destino.getFirstElem()  - inicio.getFirstElem();
        int y = destino.getSecondElem() - inicio.getSecondElem() ;
        x *= x; //(x2 - x1)^2
        y *= y; //(y2 - y1)^2

        return x + y == 2;
    }

    public static boolean iguales(Pair<Integer, Integer> a, Pair<Integer, Integer> b)
    {
        return a.getFirstElem().compareTo(b.getFirstElem()) == 0 && a.getSecondElem().compareTo(b.getSecondElem()) == 0;
    }

    public static boolean isMovLateral(Pair<Integer, Integer> inicio, Pair<Integer, Integer> destino)
    {
        return (inicio.getFirstElem().compareTo(destino.getFirstElem()) ==  0);
    }

    public static boolean elMovEsPaArriba(Pair<Integer, Integer> inicio, Pair<Integer, Integer> destino)
    {
        boolean result = false;

        if (inicio.getFirstElem().compareTo(destino.getFirstElem()) > 0)
            result = true;

        return result;
    }

    public static boolean elMovEsPaAbajo(Pair<Integer, Integer> inicio, Pair<Integer, Integer> destino)
    {
        boolean result = false;

        if (inicio.getFirstElem().compareTo(destino.getFirstElem()) < 0)
            result = true;

        return result;
    }

}
